
package com.jf.cloud.live.mapper;

import com.jf.cloud.live.dto.LiveRoomProdDTO;
import com.jf.cloud.live.model.LiveRoomProd;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 直播商品
 *
 * @author zz
 * @date 2022-08-17 17:09:06
 */
public interface LiveRoomProdMapper {

    /**
     * 获取直播商品列表
     * @return 直播商品列表
     */
    List<LiveRoomProd> list(LiveRoomProdDTO liveRoomProdDTO);

    /**
     * 根据直播商品id获取直播商品
     *
     * @param roomProdId 直播商品id
     * @return 直播商品
     */
    LiveRoomProd getByRoomProdId(@Param("roomProdId") Long roomProdId);

    /**
     * 保存直播商品
     * @param liveRoomProd 直播商品
     */
    void save(@Param("liveRoomProd") LiveRoomProd liveRoomProd);

    /**
     * 更新直播商品
     * @param liveRoomProd 直播商品
     */
    void update(@Param("liveRoomProd") LiveRoomProd liveRoomProd);

    /**
     * 根据直播商品id删除直播商品
     * @param roomProdId
     */
    void deleteById(@Param("roomProdId") Long roomProdId);

    /**
     * 根据roomId获取商品列表
     * @param id
     * @return
     */
    List<LiveRoomProd> getByRoomId(@Param("id") Integer id);

    /**
     * 批量保存直播商品
     * @param liveRoomProds
     */
    void saveBatch(@Param("liveRoomProds") List<LiveRoomProd> liveRoomProds);

    /**
     * 批量删除 删除直播间和商品的关联
     * @param ids
     */
    void deleteBatchById(@Param("ids") List<Long> ids);
}
